package ioDemo;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 通过提高每次读写的数据量,减少读写的次数,可以提高读写的效率
 *
 * 单字节的读写效率普遍较差
 * 而块读写效率普遍较好
 *
 * 块读写:一组一组的字节进行读写
 */
public class FISDemo2 {
    public static void main(String[] args) throws IOException {
        //1.创建一个文件输入流对象fos，并连接数据源"p.txt"
        FileInputStream fis = new FileInputStream("p.txt");



        int length=0;//len变量表示本次read()方法读取的数据长度
        //2.用文件输入流对象的write()方法将输出循环写出到数据源"p.txt"
        byte[] data = new byte[1024];//读取到到数据存储到data数组中。
        //用文件输入流对象的write()方法将读取到到数据存储到data数组中。(如果没读到文件末尾就继续循环读取<fis.read()方法读到文件末尾就会读到-1>)
        while((length=fis.read(data))!=-1){
            System.out.println(new String(data,0,length));//将data字节数组中读取的数据转化为String字符串打印出来。
        }



        //3.关闭文件输入流
        fis.close();
    }
}









